// <copyright file="TossTest.cs" company="Open Source"></copyright>

using System;
using _22yards.IndependentModules;
using Microsoft.Pex.Framework;
using Microsoft.Pex.Framework.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using _22yards.Core;

namespace _22yards.IndependentModules
{
    [TestClass]
    [PexClass(typeof(Toss))]
    [PexAllowedExceptionFromTypeUnderTest(typeof(ArgumentException), AcceptExceptionSubtypes = true)]
    [PexAllowedExceptionFromTypeUnderTest(typeof(InvalidOperationException))]
    public partial class TossTest
    {
        [PexMethod]
        public bool Call(
            ref Team callingTeam,
            ref Team nonCallingTeam,
            int call
        )
        {
            bool result = Toss.Call(ref callingTeam, ref nonCallingTeam, call);
            return result;
            // TODO: add assertions to method TossTest.Call(Team&, Team&, Int32)
        }
    }
}
